Error Correction Codes (ECCs) are used to protect data from Raw Bit Error rate (RBER). The term “RBER” here generally refers to the rate of errors when reading from a non-volatile memory. To achieve diversity in RBER, the ECC codewords are distributed over multiple non-volatile memory dies such that if there is any fatal non-volatile memory die, mechanisms are used to correct the data in the fatal die. Multiple non-volatile memory dies are combined into a logical unit for data redundancy. The data in the fatal die can be corrected using the Exclusive-OR (XOR) of the contents of all the non-volatile memory dies in the logical unit. However, further resilience in the RBER is desired.